package com.flying.big;

import java.math.BigDecimal;
import java.math.BigInteger;

/**
 * @ClassName: BigDemo
 * @author: 刘鹏飞
 * @date 2023/7/27 10:30
 * @Description: BigInteger和BigDecimal的使用
 */
public class BigDemo {
    public static void main(String[] args) {

        // BigInteger 表示超大数,本质使用的是字符串
        //   byte 1   short 2   int 4   long 8
        long l=1122222222222222222L;
        BigInteger bi=new BigInteger("18728367283686848378374838");

        // 加法
        BigInteger add = bi.add(new BigInteger("4"));
        System.out.println(add);

        // 减法
        System.out.println(bi.subtract(new BigInteger("7")));

        // 乘法
        System.out.println(bi.multiply(new BigInteger("99")));

        // 除法
        System.out.println(bi.divide(new BigInteger("2")));


        // BigDecimal  表示的是超精度浮点数
        double d1=0.2;
        double d2=0.1;
        System.out.println(d1+d2);  //  0.30000000000000004

        BigDecimal d3=new BigDecimal("0.1");
        BigDecimal d4=new BigDecimal("0.2");
        System.out.println(d3.add(d4));
    }
}
